package fr.miage.course7.gps;

/**
 * Classe représentant une position.
 * @author Mickael LAROCHE
 *
 */
public class Position {

    /**
     * Latitude de la position.
     */
    private int latitude;

    /**
     * Longitude de la position.
     */
    private int longitude;

    /**
     * Constructeur.
     * @param lat : latitude
     * @param lon : longitude
     */
    public Position(final int lat, final int lon) {
        latitude = lat;
        longitude = lon;
    }

    /**
     * Retourne la latitude.
     * @return la latitude
     */
    public final int getLat() {
        return latitude;
    }

    /**
     * Defini la latitude.
     * @param lat la latitude
     */
    public final void setLat(final int lat) {
        latitude = lat;
    }

    /**
     * Retourne la longitude.
     * @return la longitude
     */
    public final int getLon() {
        return longitude;
    }

    /**
     * Defini la longitude.
     * @param lon la longitude
     */
    public final void setLon(final int lon) {
        longitude = lon;
    }

    /**
     * Retourne l'égalité entre deux Positions.
     * @param p position a comparer
     * @return l'égalité entre deux Positions
     */
    public final boolean equals(final Position p) {
        return (latitude == p.getLat()
                && longitude == p.getLon());
    }

    @Override
    public final String toString() {
        return getClass().getSimpleName() + '@'
             + Integer.toHexString(hashCode())
             + " [latitude=" + latitude
             + ", longitude=" + longitude + "]";
    }
}
